Vous devez activer Javascript pour accéder à ce site
Accueil  / Semaine 2 / Laboratoire d’introduction à l’ETC

Laboratoire d’introduction à l’ETC

Introduction à l’activité

La stratégie ETC peut être mise en oeuvre sans logiciel particulier. On peut écrire différents programmes ou même faire le travail manuellement. On peut utiliser des logiciels propriétaires des grandes sociétés, comme Oracle, ou, alors, on peut utiliser des solutions en code source ouvert. C’est cette dernière stratégie que nous allons étudier en explorant l’outil Apache Hop.

Apache Hop, également connu sous le nom de Hop Orchestration Platform, est une plateforme open source de gestion de données et de métadonnées. Voici quelques caractéristiques clés d’Apache Hop :

Approche Axée sur les Métadonnées : Chaque type d’objet dans Hop décrit comment les données sont lues, manipulées ou écrites, ainsi que la manière dont les flux de travail et les pipelines doivent être orchestrés. Les métadonnées pilotent Hop en interne, et il utilise un moteur robuste avec prise en charge de plugins.

Conception Une Fois, Exécution Partout : Les flux de travail et les pipelines Hop définissent comment les données doivent être traitées. Une fois conçus, ils peuvent être exécutés sur n’importe quelle plateforme prise en charge. Vous pouvez exécuter les pipelines localement ou à distance en utilisant le moteur Hop natif, Apache Spark, Apache Flink ou Google Dataflow via les runtimes Apache Beam.

Développement visuel : Hop propose une interface intuitive de glisser-déposer pour le développement visuel des flux de travail et des pipelines. Cette approche permet aux développeurs et ingénieurs de se concentrer sur la logique métier plutôt que sur les détails d’implémentation.

Gestion du cycle de vie Intégrée : La gestion, les tests et le déploiement des flux de travail et des pipelines peuvent être complexes. L’interface graphique de Hop permet aux développeurs et administrateurs de gérer l’ensemble du cycle de vie du projet : basculer entre les projets, les environnements, les configurations d’exécution, gérer les versions Git, etc.

Apache Hop est un projet open source de l’Apache Software Foundation. Il est disponible sous la licence Apache v2. Apache Hop a été annoncé comme un projet de niveau supérieur (TLP) par la Fondation Apache le 18 janvier 20223. Depuis lors, il a continué à évoluer et à offrir des fonctionnalités puissantes pour l’intégration de données et la gestion des métadonnées.

Apache Hop dispose d’une chaîne YouTube (en anglais).

Installation d’un environnement de développement Java

Comme plusieurs outils importants dans le domaine de l’ingénierie des données, Apache Hop est écrit en Java. Vous devez disposer d’une machine virtuelle Java récente (Java 11 mieux, sinon certains outils utilisés dans le cours ne fonctionneront pas) sur votre ordinateur, incluant le compilateur Java : « javac ». Si vous n’en avez pas, il faut effectuer le téléchargement et l’installation d’une telle machine. En outre, vous devez avoir sur votre ordinateur la trousse de développement SDK (souvent nommé le SDK dans l’usage), pas uniquement l’environnement JRE. Sur la page qui se trouve à l’adresse https://adoptium.net/fr/, cliquez sur « Dernière version ». Le téléchargement peut prendre plusieurs minutes. Il suffit ensuite de lancer le fichier exécutable que vous venez d’enregistrer sur votre ordinateur pour installer la trousse SDK. Normalement, on vous offre la possibilité de configurer la variable JAVA_HOME pendant l’installation (sous Windows). Vous devez choisir cette option.

Ensuite, lancez la machine virtuelle Java avec une ligne de commande. Pour cela, il faut ouvrir une fenêtre de commande. Sous Windows 8 et versions ultérieures, cliquez en bas à gauche avec le bouton droit de la souris et sélectionnez « invite de commandes ». Sous Windows XP ou les versions plus récentes de Windows, dans le menu « Démarrer », cliquez sur « Exécuter » ; une fenêtre s’ouvre, tapez le nom de programme « cmd » pour ouvrir une fenêtre de commande. Notez qu’avec les versions plus anciennes de Windows, comme Windows 98, il faut taper « command.com ». Une fenêtre s’ouvre alors avec un fond noir, c’est la fenêtre de commande.

Ligne de commande

Si vous n’êtes pas familier avec la ligne de commande, vous devriez lire un des nombreux guides qui se trouvent sur Internet. Nous supposerons ici que vous êtes familier avec les commandes cd, dir, et les notions de système de fichiers, de répertoire, de répertoire courant. Tout au long du cours, nous donnerons des consignes précises, de telle manière à ce qu’il ne soit pas nécessaire d’être un expert de la ligne de commande pour compléter ce cours, mais il est souhaitable que vous compreniez ce que l’on vous demande de faire.

Les instructions supposent généralement que vous utilisez Windows, mais il est parfaitement possible de suivre ce cours avec MacOS ou Linux. Sous MacOS, la ligne de commande se trouve sous Applications > Utilities > Terminal. Par défaut, MacOS utilise une ligne de commande de type bash. Vous trouverez sans mal des guides vous initiant à bash sur le web.

Test de la machine virtuelle

Testez l’installation de votre machine virtuelle en tapant « java » suivi du retour de chariot. Vous devriez recevoir un message qui commence par :

      Usage: java [-options] class [args...]
                 (to execute a class)
         or  java -jar [-options] jarfile [args...]
                 (to execute a jar file)

ou quelque chose de similaire. Testez aussi l’installation du
compilateur en tapant « javac » ; vous devriez voir un message qui resssemble à celui-ci :

Usage: javac <options> <source files>

Si ce n’est pas le cas, nous vous conseillons de vérifier l’installation de votre machine virtuelle et de procéder à sa réinstallation au besoin. Si tout est bien installé et que ça ne fonctionne toujours pas, vous devrez indiquer le chemin pour trouver le compilateur en tapant la ligne de commande :

PATH=adresse_du_fichier_javac.exe

Le fichier « javac.exe » se trouve dans le dossier « bin » du SDK. Par défaut, ce fichier se trouve dans le « C :». Si vous ne savez plus où est installé le SDK, vous pouvez faire une recherche, à partir du menu « Démarrer » de Windows. Une fois le chemin indiqué, retapez la commande « javac » et, cette fois, tout devrait bien fonctionner. Comme il peut être lourd de modifier la variable d’environnement PATH chaque fois, il est possible de la modifier une fois pour toutes : allez dans « Démarrer », choisissez « Paramètres », puis « Panneau de configuration », et ouvrez « Système », cliquez sur l’onglet « Avancé » ; cliquez ensuite sur le bouton « Variables d’environnement », sélectionnez « PATH » dans la liste des variables [1], cliquez sur le bouton « Modifier » et ajoutez, à la fin du contenu de la variable « ;adresse_du_fichier_javac.exe », par exemple « ;C :\Program Files\Java\jdk11.0\bin ».

Vérifier la version

Il est essentiel d’avoir Java 11 ou mieux. Pour vérifier si c’est bien le cas, exécutez les commandes suivantes :

$ javac -version
$ java -version

Il est possible sous Windows de désinstaller un logiciel si vous trouvez une version de Java qui ne convient pas.

Nous vous invitons à récupérer le manuel Java Pas à Pas rédiger par Godin et Lemire.

Vérifier la variable JAVA_HOME

Durant l’installation, vous devez avoir demandé à ce que la variable JAVA_HOME soit configurée. Vous pouvez vérifier que c’est le cas avec la commande suivante (sous Windows en utilisant l’utilitaire de ligne de command conventionnel) :

$ echo %JAVA_HOME%

Vous devriez voir apparaître un chemin indiquant le dossier où votre machine virtuelle Java a été installée.

Installation de Apache Hop

Téléchargez Apache Hop à partir de la page https://hop.apache.org/download/ (en anglais). Le fichier devrait être nommé apache-hop-client-X.X.X.zip où X.X.X correspond à la version choisie. Au fil du temps, Apache Hop évolue et de nouvelles versions apparaissent. Il faut ensuite extraire le zip sur votre poste de travail où vous souhaitez l’installer.

Sous Windows, utilisez la fonction de décompression de l’explorateur Windows, disponible à partir de Windows 8, pour décompresser le fichier apache-hop-client-X.X.X.zip. Localisez le fichier dans l’explorateur Windows, puis appuyez et maintenez (ou cliquez avec le bouton droit), sélectionnez Extraire tout.

Pour les autres systèmes, décompressez le fichier téléchargé apache-hop-client-X.X.X.zip à l’aide d’un outil unzip à l’emplacement du répertoire où vous voulez installer Pentaho data integration. Consultez un technicien au besoin.

Lançons Hop !

Hop dispose d’une interface graphique. Exécutez le script "hop-gui.bat" sous Windows ou "sh hop-gui.sh" sous Unix ou OSX [2]. L’apparence exacte de la fenêtre peut varier selon la version choisie de Hop. Si votre ordinateur est peu puissant, il est possible que Hop prenne quelques minutes avant de démarrer, il faut être patient.

Hop est disponible dans plusieurs langues, mais pour les fins de nos explications, nous allons utiliser l’anglais. Au besoin, utilisez un outil comme Google Translate pour traduire le texte en français.

Une fenêtre de présentation peut apparaître par dessus la fenêtre principale de Hop. Vous pouvez prendre connaissance de la description et des informations et fermer cette fenêtre de présentation.

Un premier exercice : transformons du CSV en XML

Hop permet de charger des données provenant de différentes sources et de les transformer. À titre de première expérience, nous allons transformer un fichier CSV en fichier XML.

Commencez par enregistrer ce fichier CSV sur votre PC :

Fichier CSV

On vous suggère ensuite dans suivre les étapes illustrées dans cette vidéo :

Cliquez sur New puis sur Pipeline. Vous pouvez enregistrer votre projet sur votre disque en cliquant sur l’image d’une disquette. Nous vous recommandons de le faire maintenant. Vous devez choisir un emplacement approprié, dans une dossier où l’application a les droits d’écriture.

En cliquant sur le tableau, vous verrez apparaître un menu comprenant plusieurs composantes. Trouvez l’icône CVS file input sur votre espace de travail. (Si votre interface n’est pas en anglais, choisissez l’équivalent dans la langue choisie)

Double-cliquez sur l’icône CSV file input. Sélectionnez alors le fichier CSV sur votre disque.

Avant de continuer, assurez-vous d’avoir le bon fichier. Il peut être nécessaire de cliquer sur le bouton « Get Fields » pour vérifier. Appuyez sur le bouton Ok pour continuer.

Cliquez de nouveau sur le tableau et choisissez XML Output. Double-cliquez sur l’icône XML Output. Tapez un chemin de fichier. Notez que le programme doit avoir la permission de créer le fichier en question et d’y écrire, choisissez donc le dossier et le nom de fichier en conséquence.

Finalement, de retour à votre fenêtre principale, appuyer sur Run (image d’un triangle).

Si tout s’est bien déroulé, vous devriez avoir un fichier xml sur votre disque contenant le texte suivant :

<?xml version="1.0" encoding="UTF-8"?>
<Rows>
<Row><Name>John</Name> <City>Montreal</City> <Job>Salesman</Job> </Row>
<Row><Name>Kamel</Name> <City>Lyon</City> <Job>Researcher</Job> </Row>
<Row><Name>Nathalie</Name> <City>Montreal</City> <Job>Translator</Job> </Row>
<Row><Name>Bush</Name> <City>Washington</City> <Job>President</Job> </Row>
<Row><Name>Tim Bray</Name> <City>Vancouver</City> <Job>Technologist</Job> </Row>
(...)

Bravo ! Vous venez de convertir un fichier CSV en fichier XML !

Pour en savoir plus...

 Tutoriel Apache Hop (en anglais).


[1Les noms des variables d’environnement sous Windows ne sont pas sensibles à la casse.

[2Sous Mac, lancez l’application Terminal, rendez-vous dans le dossier où se trouve le fichier spoon.sh, et tapez la commande "sh hop-gui.sh".